home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / olectl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  21.4 KB  |  607 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // olectl.h     OLE Control interfaces
  4. //
  5. //              OLE Version 2.0
  6. //
  7. //              Copyright (c) 1992-1997, Microsoft Corp. All rights reserved.
  8. //
  9. /////////////////////////////////////////////////////////////////////////////
  10.  
  11.  
  12. #ifndef _OLECTL_H_
  13. #define _OLECTL_H_
  14. #pragma option push -b
  15.  
  16. #if !defined(__MKTYPLIB__) && !defined(__midl)
  17.  
  18. #if defined(_MAC)
  19. #include <macocidl.h>
  20. #else // not _MAC
  21.  
  22. #if !defined(RC_INVOKED)
  23. #pragma pack(8)
  24. #endif
  25.  
  26. #include <ocidl.h>
  27. #endif // _MAC
  28.  
  29. #ifdef _OLEAUT32_
  30. #define WINOLECTLAPI        STDAPI
  31. #define WINOLECTLAPI_(type) STDAPI_(type)
  32. #else
  33. #define WINOLECTLAPI        EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
  34. #define WINOLECTLAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
  35. #endif
  36.  
  37. #if !defined(INITGUID)
  38.  
  39. DEFINE_GUID(IID_IPropertyFrame,
  40.     0xB196B28A,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  41.  
  42. //
  43. //  Class IDs for property sheet implementations
  44. //
  45.  
  46. DEFINE_GUID(CLSID_CFontPropPage,
  47.     0x0be35200,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  48. DEFINE_GUID(CLSID_CColorPropPage,
  49.     0x0be35201,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  50. DEFINE_GUID(CLSID_CPicturePropPage,
  51.     0x0be35202,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  52.  
  53. //
  54. //  Class IDs for persistent property set formats
  55. //
  56.  
  57. DEFINE_GUID(CLSID_PersistPropset,
  58.     0xfb8f0821,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13);
  59. DEFINE_GUID(CLSID_ConvertVBX,
  60.     0xfb8f0822,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13);
  61.  
  62. //
  63. //  Class ID for standard implementations of IFont and IPicture
  64.  
  65. DEFINE_GUID(CLSID_StdFont,
  66.     0x0be35203,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  67. DEFINE_GUID(CLSID_StdPicture,
  68.     0x0be35204,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  69.  
  70. //
  71. //  GUIDs for standard types
  72. //
  73.  
  74. DEFINE_GUID(GUID_HIMETRIC,
  75.     0x66504300,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  76. DEFINE_GUID(GUID_COLOR,
  77.     0x66504301,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  78. DEFINE_GUID(GUID_XPOSPIXEL,
  79.     0x66504302,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  80. DEFINE_GUID(GUID_YPOSPIXEL,
  81.     0x66504303,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  82. DEFINE_GUID(GUID_XSIZEPIXEL,
  83.     0x66504304,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  84. DEFINE_GUID(GUID_YSIZEPIXEL,
  85.     0x66504305,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  86. DEFINE_GUID(GUID_XPOS,
  87.     0x66504306,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  88. DEFINE_GUID(GUID_YPOS,
  89.     0x66504307,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  90. DEFINE_GUID(GUID_XSIZE,
  91.     0x66504308,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  92. DEFINE_GUID(GUID_YSIZE,
  93.     0x66504309,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  94.  
  95. #if !defined( __CGUID_H__ )
  96. DEFINE_GUID(GUID_TRISTATE,
  97.     0x6650430A,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  98. #endif
  99.  
  100. DEFINE_GUID(GUID_OPTIONVALUEEXCLUSIVE,
  101.     0x6650430B,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  102. DEFINE_GUID(GUID_CHECKVALUEEXCLUSIVE,
  103.     0x6650430C,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  104. DEFINE_GUID(GUID_FONTNAME,
  105.     0x6650430D,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  106. DEFINE_GUID(GUID_FONTSIZE,
  107.     0x6650430E,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  108. DEFINE_GUID(GUID_FONTBOLD,
  109.     0x6650430F,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  110. DEFINE_GUID(GUID_FONTITALIC,
  111.     0x66504310,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  112. DEFINE_GUID(GUID_FONTUNDERSCORE,
  113.     0x66504311,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  114. DEFINE_GUID(GUID_FONTSTRIKETHROUGH,
  115.     0x66504312,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  116. DEFINE_GUID(GUID_HANDLE,
  117.     0x66504313,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  118.  
  119. #endif // INITGUID
  120.  
  121.  
  122. /////////////////////////////////////////////////////////////////////////////
  123. // OCPFIPARAMS structure - parameters for OleCreatePropertyFrameIndirect
  124.  
  125. typedef struct tagOCPFIPARAMS
  126. {
  127.     ULONG cbStructSize;
  128.     HWND hWndOwner;
  129.     int x;
  130.     int y;
  131.     LPCOLESTR lpszCaption;
  132.     ULONG cObjects;
  133.     LPUNKNOWN FAR* lplpUnk;
  134.     ULONG cPages;
  135.     CLSID FAR* lpPages;
  136.     LCID lcid;
  137.     DISPID dispidInitialProperty;
  138.  
  139. } OCPFIPARAMS, FAR* LPOCPFIPARAMS;
  140.  
  141.  
  142. /////////////////////////////////////////////////////////////////////////////
  143. // FONTDESC structure
  144.  
  145. #define FONTSIZE(n) { n##0000, 0 }
  146.  
  147. typedef struct tagFONTDESC
  148. {
  149.     UINT cbSizeofstruct;
  150.     LPOLESTR lpstrName;
  151.     CY cySize;
  152.     SHORT sWeight;
  153.     SHORT sCharset;
  154.     BOOL fItalic;
  155.     BOOL fUnderline;
  156.     BOOL fStrikethrough;
  157.  
  158. } FONTDESC, FAR* LPFONTDESC;
  159.  
  160.  
  161. /////////////////////////////////////////////////////////////////////////////
  162. // PICTDESC structure
  163.  
  164. #define PICTYPE_UNINITIALIZED (-1)
  165. #define PICTYPE_NONE            0
  166. #define PICTYPE_BITMAP          1
  167. #define PICTYPE_METAFILE        2
  168. #define PICTYPE_ICON            3
  169. #ifdef _WIN32
  170. #define PICTYPE_ENHMETAFILE     4
  171. #endif
  172.  
  173. typedef struct tagPICTDESC
  174. {
  175.     UINT cbSizeofstruct;
  176.     UINT picType;
  177.     union
  178.     {
  179.         struct
  180.         {
  181.             HBITMAP   hbitmap;        // Bitmap
  182.             HPALETTE  hpal;           // Accompanying palette
  183.         } bmp;
  184.  
  185.         struct
  186.         {
  187.             HMETAFILE hmeta;          // Metafile
  188.             int       xExt;
  189.             int       yExt;           // Extent
  190.         } wmf;
  191.  
  192.         struct
  193.         {
  194.             HICON hicon;              // Icon
  195.         } icon;
  196.  
  197. #ifdef _WIN32
  198.         struct
  199.         {
  200.             HENHMETAFILE hemf;        // Enhanced Metafile
  201.         } emf;
  202. #endif
  203.     };
  204.  
  205. } PICTDESC, FAR* LPPICTDESC;
  206.  
  207.  
  208. /////////////////////////////////////////////////////////////////////////////
  209. // Typedefs for standard scalar types
  210.  
  211. typedef long OLE_XPOS_PIXELS;
  212. typedef long OLE_YPOS_PIXELS;
  213. typedef long OLE_XSIZE_PIXELS;
  214. typedef long OLE_YSIZE_PIXELS;
  215. typedef float OLE_XPOS_CONTAINER;
  216. typedef float OLE_YPOS_CONTAINER;
  217. typedef float OLE_XSIZE_CONTAINER;
  218. typedef float OLE_YSIZE_CONTAINER;
  219. typedef enum { triUnchecked = 0, triChecked = 1, triGray = 2 } OLE_TRISTATE;
  220. typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
  221. typedef VARIANT_BOOL OLE_CANCELBOOL;
  222. typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
  223.  
  224. /////////////////////////////////////////////////////////////////////////////
  225. // FACILITY_CONTROL status codes
  226.  
  227. #ifndef FACILITY_CONTROL
  228. #define FACILITY_CONTROL 0xa
  229. #endif
  230.  
  231. #define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n)
  232. #define CTL_E_ILLEGALFUNCTIONCALL       STD_CTL_SCODE(5)
  233. #define CTL_E_OVERFLOW                  STD_CTL_SCODE(6)
  234. #define CTL_E_OUTOFMEMORY               STD_CTL_SCODE(7)
  235. #define CTL_E_DIVISIONBYZERO            STD_CTL_SCODE(11)
  236. #define CTL_E_OUTOFSTRINGSPACE          STD_CTL_SCODE(14)
  237. #define CTL_E_OUTOFSTACKSPACE           STD_CTL_SCODE(28)
  238. #define CTL_E_BADFILENAMEORNUMBER       STD_CTL_SCODE(52)
  239. #define CTL_E_FILENOTFOUND              STD_CTL_SCODE(53)
  240. #define CTL_E_BADFILEMODE               STD_CTL_SCODE(54)
  241. #define CTL_E_FILEALREADYOPEN           STD_CTL_SCODE(55)
  242. #define CTL_E_DEVICEIOERROR             STD_CTL_SCODE(57)
  243. #define CTL_E_FILEALREADYEXISTS         STD_CTL_SCODE(58)
  244. #define CTL_E_BADRECORDLENGTH           STD_CTL_SCODE(59)
  245. #define CTL_E_DISKFULL                  STD_CTL_SCODE(61)
  246. #define CTL_E_BADRECORDNUMBER           STD_CTL_SCODE(63)
  247. #define CTL_E_BADFILENAME               STD_CTL_SCODE(64)
  248. #define CTL_E_TOOMANYFILES              STD_CTL_SCODE(67)
  249. #define CTL_E_DEVICEUNAVAILABLE         STD_CTL_SCODE(68)
  250. #define CTL_E_PERMISSIONDENIED          STD_CTL_SCODE(70)
  251. #define CTL_E_DISKNOTREADY              STD_CTL_SCODE(71)
  252. #define CTL_E_PATHFILEACCESSERROR       STD_CTL_SCODE(75)
  253. #define CTL_E_PATHNOTFOUND              STD_CTL_SCODE(76)
  254. #define CTL_E_INVALIDPATTERNSTRING      STD_CTL_SCODE(93)
  255. #define CTL_E_INVALIDUSEOFNULL          STD_CTL_SCODE(94)
  256. #define CTL_E_INVALIDFILEFORMAT         STD_CTL_SCODE(321)
  257. #define CTL_E_INVALIDPROPERTYVALUE      STD_CTL_SCODE(380)
  258. #define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381)
  259. #define CTL_E_SETNOTSUPPORTEDATRUNTIME  STD_CTL_SCODE(382)
  260. #define CTL_E_SETNOTSUPPORTED           STD_CTL_SCODE(383)
  261. #define CTL_E_NEEDPROPERTYARRAYINDEX    STD_CTL_SCODE(385)
  262. #define CTL_E_SETNOTPERMITTED           STD_CTL_SCODE(387)
  263. #define CTL_E_GETNOTSUPPORTEDATRUNTIME  STD_CTL_SCODE(393)
  264. #define CTL_E_GETNOTSUPPORTED           STD_CTL_SCODE(394)
  265. #define CTL_E_PROPERTYNOTFOUND          STD_CTL_SCODE(422)
  266. #define CTL_E_INVALIDCLIPBOARDFORMAT    STD_CTL_SCODE(460)
  267. #define CTL_E_INVALIDPICTURE            STD_CTL_SCODE(481)
  268. #define CTL_E_PRINTERERROR              STD_CTL_SCODE(482)
  269. #define CTL_E_CANTSAVEFILETOTEMP        STD_CTL_SCODE(735)
  270. #define CTL_E_SEARCHTEXTNOTFOUND        STD_CTL_SCODE(744)
  271. #define CTL_E_REPLACEMENTSTOOLONG       STD_CTL_SCODE(746)
  272.  
  273. #define CUSTOM_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n)
  274. #define CTL_E_CUSTOM_FIRST              CUSTOM_CTL_SCODE(600)
  275.  
  276.  
  277. /////////////////////////////////////////////////////////////////////////////
  278. // IClassFactory2 status codes
  279.  
  280. // #define CLASS_E_NOTLICENSED         (CLASSFACTORY_E_FIRST+2)
  281. // class is not licensed for use
  282.  
  283.  
  284. /////////////////////////////////////////////////////////////////////////////
  285. // IConnectionPoint status codes
  286.  
  287. #define CONNECT_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  288. #define CONNECT_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  289. #define CONNECT_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  290. #define CONNECT_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  291.  
  292. #define CONNECT_E_NOCONNECTION      (CONNECT_E_FIRST+0)
  293. // there is no connection for this connection id
  294.  
  295. #define CONNECT_E_ADVISELIMIT       (CONNECT_E_FIRST+1)
  296. // this implementation's limit for advisory connections has been reached
  297.  
  298. #define CONNECT_E_CANNOTCONNECT     (CONNECT_E_FIRST+2)
  299. // connection attempt failed
  300.  
  301. #define CONNECT_E_OVERRIDDEN        (CONNECT_E_FIRST+3)
  302. // must use a derived interface to connect
  303.  
  304.  
  305. /////////////////////////////////////////////////////////////////////////////
  306. // DllRegisterServer/DllUnregisterServer status codes
  307.  
  308. #define SELFREG_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  309. #define SELFREG_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  310. #define SELFREG_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  311. #define SELFREG_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  312.  
  313. #define SELFREG_E_TYPELIB           (SELFREG_E_FIRST+0)
  314. // failed to register/unregister type library
  315.  
  316. #define SELFREG_E_CLASS             (SELFREG_E_FIRST+1)
  317. // failed to register/unregister class
  318.  
  319.  
  320. /////////////////////////////////////////////////////////////////////////////
  321. // IPerPropertyBrowsing status codes
  322.  
  323. #define PERPROP_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  324. #define PERPROP_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  325. #define PERPROP_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  326. #define PERPROP_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  327.  
  328. #define PERPROP_E_NOPAGEAVAILABLE   (PERPROP_E_FIRST+0)
  329. // no page available for requested property
  330.  
  331.  
  332. /////////////////////////////////////////////////////////////////////////////
  333. // OLEMISC_ constants (they are also defined in the latest oleidl.h)
  334.  
  335. #define OLEMISC_INVISIBLEATRUNTIME  0x00000400L
  336. #define OLEMISC_ALWAYSRUN           0x00000800L
  337. #define OLEMISC_ACTSLIKEBUTTON      0x00001000L
  338. #define OLEMISC_ACTSLIKELABEL       0x00002000L
  339. #define OLEMISC_NOUIACTIVATE        0x00004000L
  340. #define OLEMISC_ALIGNABLE           0x00008000L
  341. #define OLEMISC_SIMPLEFRAME         0x00010000L
  342. #define OLEMISC_SETCLIENTSITEFIRST  0x00020000L
  343. #define OLEMISC_IMEMODE             0x00040000L
  344.  
  345.  
  346. /////////////////////////////////////////////////////////////////////////////
  347. // OLEIVERB_ constants
  348.  
  349. #ifndef OLEIVERB_PROPERTIES
  350. #define OLEIVERB_PROPERTIES (-7L)
  351. #endif
  352.  
  353.  
  354. /////////////////////////////////////////////////////////////////////////////
  355. // Variant type (VT_) tags for property sets
  356.  
  357. #define VT_STREAMED_PROPSET 73  //       [P]  Stream contains a property set
  358. #define VT_STORED_PROPSET   74  //       [P]  Storage contains a property set
  359. #define VT_BLOB_PROPSET     75  //       [P]  Blob contains a property set
  360. #define VT_VERBOSE_ENUM     76  //       [P]  Enum value with text string
  361.  
  362.  
  363. /////////////////////////////////////////////////////////////////////////////
  364. // Variant type (VT_) tags that are just aliases for others
  365.  
  366. #define VT_COLOR            VT_I4
  367. #define VT_XPOS_PIXELS      VT_I4
  368. #define VT_YPOS_PIXELS      VT_I4
  369. #define VT_XSIZE_PIXELS     VT_I4
  370. #define VT_YSIZE_PIXELS     VT_I4
  371. #define VT_XPOS_HIMETRIC    VT_I4
  372. #define VT_YPOS_HIMETRIC    VT_I4
  373. #define VT_XSIZE_HIMETRIC   VT_I4
  374. #define VT_YSIZE_HIMETRIC   VT_I4
  375. #define VT_TRISTATE         VT_I2
  376. #define VT_OPTEXCLUSIVE     VT_BOOL
  377. #define VT_FONT             VT_DISPATCH
  378. #define VT_PICTURE          VT_DISPATCH
  379.  
  380. #ifdef _WIN32
  381. #define VT_HANDLE           VT_I4
  382. #else
  383. #define VT_HANDLE           VT_I2
  384. #endif
  385.  
  386.  
  387. /////////////////////////////////////////////////////////////////////////////
  388. // Reflected Window Message IDs
  389.  
  390. #define OCM__BASE           (WM_USER+0x1c00)
  391. #define OCM_COMMAND         (OCM__BASE + WM_COMMAND)
  392.  
  393. #ifdef _WIN32
  394. #define OCM_CTLCOLORBTN     (OCM__BASE + WM_CTLCOLORBTN)
  395. #define OCM_CTLCOLOREDIT    (OCM__BASE + WM_CTLCOLOREDIT)
  396. #define OCM_CTLCOLORDLG     (OCM__BASE + WM_CTLCOLORDLG)
  397. #define OCM_CTLCOLORLISTBOX (OCM__BASE + WM_CTLCOLORLISTBOX)
  398. #define OCM_CTLCOLORMSGBOX  (OCM__BASE + WM_CTLCOLORMSGBOX)
  399. #define OCM_CTLCOLORSCROLLBAR   (OCM__BASE + WM_CTLCOLORSCROLLBAR)
  400. #define OCM_CTLCOLORSTATIC  (OCM__BASE + WM_CTLCOLORSTATIC)
  401. #else
  402. #define OCM_CTLCOLOR        (OCM__BASE + WM_CTLCOLOR)
  403. #endif
  404.  
  405. #define OCM_DRAWITEM        (OCM__BASE + WM_DRAWITEM)
  406. #define OCM_MEASUREITEM     (OCM__BASE + WM_MEASUREITEM)
  407. #define OCM_DELETEITEM      (OCM__BASE + WM_DELETEITEM)
  408. #define OCM_VKEYTOITEM      (OCM__BASE + WM_VKEYTOITEM)
  409. #define OCM_CHARTOITEM      (OCM__BASE + WM_CHARTOITEM)
  410. #define OCM_COMPAREITEM     (OCM__BASE + WM_COMPAREITEM)
  411. #define OCM_HSCROLL         (OCM__BASE + WM_HSCROLL)
  412. #define OCM_VSCROLL         (OCM__BASE + WM_VSCROLL)
  413. #define OCM_PARENTNOTIFY    (OCM__BASE + WM_PARENTNOTIFY)
  414.  
  415. #if (WINVER >= 0x0400)
  416. #define OCM_NOTIFY            (OCM__BASE + WM_NOTIFY)
  417. #endif
  418.  
  419.  
  420. /////////////////////////////////////////////////////////////////////////////
  421. // Self-registration APIs (to be implemented by server DLL)
  422.  
  423. STDAPI DllRegisterServer(void);
  424. STDAPI DllUnregisterServer(void);
  425.  
  426.  
  427. /////////////////////////////////////////////////////////////////////////////
  428. // Property frame APIs
  429.  
  430. WINOLECTLAPI OleCreatePropertyFrame(HWND hwndOwner, UINT x, UINT y,
  431.     LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN FAR* ppUnk, ULONG cPages,
  432.     LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved);
  433.  
  434. WINOLECTLAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams);
  435.  
  436.  
  437. /////////////////////////////////////////////////////////////////////////////
  438. // Standard type APIs
  439.  
  440. WINOLECTLAPI OleTranslateColor(OLE_COLOR clr, HPALETTE hpal,
  441.     COLORREF* lpcolorref);
  442.  
  443. WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid,
  444.     LPVOID FAR* lplpvObj);
  445.  
  446. WINOLECTLAPI OleCreatePictureIndirect(LPPICTDESC lpPictDesc, REFIID riid,
  447.     BOOL fOwn, LPVOID FAR* lplpvObj);
  448.  
  449. WINOLECTLAPI OleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
  450.     REFIID riid, LPVOID FAR* lplpvObj);
  451.  
  452. WINOLECTLAPI OleLoadPicturePath(  LPOLESTR  szURLorPath,
  453.                   LPUNKNOWN punkCaller,
  454.                   DWORD     dwReserved,
  455.                   OLE_COLOR clrReserved,
  456.                   REFIID    riid,
  457.                   LPVOID *  ppvRet );
  458.  
  459. WINOLECTLAPI OleLoadPictureFile(VARIANT varFileName,
  460.     LPDISPATCH* lplpdispPicture);
  461.  
  462. WINOLECTLAPI OleSavePictureFile(LPDISPATCH lpdispPicture,
  463.     BSTR bstrFileName);
  464.  
  465. WINOLECTLAPI_(HCURSOR) OleIconToCursor(HINSTANCE hinstExe, HICON hIcon);
  466.  
  467.  
  468. #if !defined(_MAC) && !defined(RC_INVOKED)
  469. #pragma pack()
  470. #endif
  471.  
  472. #endif // !(defined(__MKTYPLIB__) && !defined(__midl))
  473.  
  474.  
  475. /////////////////////////////////////////////////////////////////////////////
  476. //  Standard dispatch ID constants
  477.  
  478. #define DISPID_AUTOSIZE                 (-500)
  479. #define DISPID_BACKCOLOR                (-501)
  480. #define DISPID_BACKSTYLE                (-502)
  481. #define DISPID_BORDERCOLOR              (-503)
  482. #define DISPID_BORDERSTYLE              (-504)
  483. #define DISPID_BORDERWIDTH              (-505)
  484. #define DISPID_DRAWMODE                 (-507)
  485. #define DISPID_DRAWSTYLE                (-508)
  486. #define DISPID_DRAWWIDTH                (-509)
  487. #define DISPID_FILLCOLOR                (-510)
  488. #define DISPID_FILLSTYLE                (-511)
  489. #define DISPID_FONT                     (-512)
  490. #define DISPID_FORECOLOR                (-513)
  491. #define DISPID_ENABLED                  (-514)
  492. #define DISPID_HWND                     (-515)
  493. #define DISPID_TABSTOP                  (-516)
  494. #define DISPID_TEXT                     (-517)
  495. #define DISPID_CAPTION                  (-518)
  496. #define DISPID_BORDERVISIBLE            (-519)
  497. #define DISPID_APPEARANCE               (-520)
  498. #define DISPID_MOUSEPOINTER             (-521)
  499. #define DISPID_MOUSEICON                (-522)
  500. #define DISPID_PICTURE                  (-523)
  501. #define DISPID_VALID                    (-524)
  502. #define DISPID_READYSTATE               (-525)
  503. #define DISPID_LISTINDEX                (-526)
  504. #define DISPID_SELECTED                 (-527)
  505. #define DISPID_LIST                     (-528)
  506. #define DISPID_COLUMN                   (-529)
  507. #define DISPID_LISTCOUNT                (-531)
  508. #define DISPID_MULTISELECT              (-532)
  509. #define DISPID_MAXLENGTH                (-533)
  510. #define DISPID_PASSWORDCHAR             (-534)
  511. #define DISPID_SCROLLBARS               (-535)
  512. #define DISPID_WORDWRAP                 (-536)
  513. #define DISPID_MULTILINE                (-537)
  514. #define DISPID_NUMBEROFROWS             (-538)
  515. #define DISPID_NUMBEROFCOLUMNS          (-539)
  516. #define DISPID_DISPLAYSTYLE             (-540)
  517. #define DISPID_GROUPNAME                (-541)
  518. #define DISPID_IMEMODE                  (-542)
  519. #define DISPID_ACCELERATOR              (-543)
  520. #define DISPID_ENTERKEYBEHAVIOR         (-544)
  521. #define DISPID_TABKEYBEHAVIOR           (-545)
  522. #define DISPID_SELTEXT                  (-546)
  523. #define DISPID_SELSTART                 (-547)
  524. #define DISPID_SELLENGTH                (-548)
  525.  
  526. #define DISPID_REFRESH                  (-550)
  527. #define DISPID_DOCLICK                  (-551)
  528. #define DISPID_ABOUTBOX                 (-552)
  529. #define DISPID_ADDITEM                  (-553)
  530. #define DISPID_CLEAR                    (-554)
  531. #define DISPID_REMOVEITEM               (-555)
  532.  
  533. #define DISPID_CLICK                    (-600)
  534. #define DISPID_DBLCLICK                 (-601)
  535. #define DISPID_KEYDOWN                  (-602)
  536. #define DISPID_KEYPRESS                 (-603)
  537. #define DISPID_KEYUP                    (-604)
  538. #define DISPID_MOUSEDOWN                (-605)
  539. #define DISPID_MOUSEMOVE                (-606)
  540. #define DISPID_MOUSEUP                  (-607)
  541. #define DISPID_ERROREVENT               (-608)
  542. #define DISPID_READYSTATECHANGE         (-609)
  543. #define DISPID_CLICK_VALUE              (-610)
  544. #define DISPID_RIGHTTOLEFT              (-611)
  545. #define DISPID_TOPTOBOTTOM              (-612)
  546.  
  547. #define DISPID_AMBIENT_BACKCOLOR        (-701)
  548. #define DISPID_AMBIENT_DISPLAYNAME      (-702)
  549. #define DISPID_AMBIENT_FONT             (-703)
  550. #define DISPID_AMBIENT_FORECOLOR        (-704)
  551. #define DISPID_AMBIENT_LOCALEID         (-705)
  552. #define DISPID_AMBIENT_MESSAGEREFLECT   (-706)
  553. #define DISPID_AMBIENT_SCALEUNITS       (-707)
  554. #define DISPID_AMBIENT_TEXTALIGN        (-708)
  555. #define DISPID_AMBIENT_USERMODE         (-709)
  556. #define DISPID_AMBIENT_UIDEAD           (-710)
  557. #define DISPID_AMBIENT_SHOWGRABHANDLES  (-711)
  558. #define DISPID_AMBIENT_SHOWHATCHING     (-712)
  559. #define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
  560. #define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
  561. #define DISPID_AMBIENT_AUTOCLIP         (-715)
  562. #define DISPID_AMBIENT_APPEARANCE       (-716)
  563.  
  564. #define DISPID_AMBIENT_PALETTE          (-726)
  565. #define DISPID_AMBIENT_TRANSFERPRIORITY (-728)
  566.  
  567. #define DISPID_AMBIENT_RIGHTTOLEFT      (-732)
  568. #define DISPID_AMBIENT_TOPTOBOTTOM      (-733)
  569.  
  570. #define DISPID_Name                     (-800)
  571. #define DISPID_Delete                   (-801)
  572. #define DISPID_Object                   (-802)
  573. #define DISPID_Parent                   (-803)
  574.  
  575. /////////////////////////////////////////////////////////////////////////////
  576. // Dispatch ID constants for font and picture types
  577.  
  578. #define DISPID_FONT_NAME    0
  579. #define DISPID_FONT_SIZE    2
  580. #define DISPID_FONT_BOLD    3
  581. #define DISPID_FONT_ITALIC  4
  582. #define DISPID_FONT_UNDER   5
  583. #define DISPID_FONT_STRIKE  6
  584. #define DISPID_FONT_WEIGHT  7
  585. #define DISPID_FONT_CHARSET 8
  586.  
  587. #define DISPID_PICT_HANDLE  0
  588. #define DISPID_PICT_HPAL    2
  589. #define DISPID_PICT_TYPE    3
  590. #define DISPID_PICT_WIDTH   4
  591. #define DISPID_PICT_HEIGHT  5
  592. #define DISPID_PICT_RENDER  6
  593.  
  594.  
  595. #if defined(__MKTYPLIB__) || defined(__midl)
  596.  
  597. /////////////////////////////////////////////////////////////////////////////
  598. // Names of modules containing type libraries for standard types
  599.  
  600. #define STDOLE_TLB "stdole2.tlb"
  601. #define STDTYPE_TLB "olepro32.dll"
  602.  
  603. #endif // defined(__MKTYPLIB__) || defined(__midl)
  604.  
  605. #pragma option pop
  606. #endif // _OLECTL_H_
  607.